/**
 * Created by yan on 16/2/24.
 */

/************************************所需父页面参数*****************************************/
var flowStatus; //标识文件运行状态 0:未导入文件状态 1:文件已导入,未解析入库 2:文件已入库解析完成
var templateCode;//对应父页面文件入业务表模板
var uploadFileData;//文件上传成功后传回的参数

//初始化页面数据
function parseOriginalData() {
    //所需要父页面参数
    flowStatus = window.parent.flowStatus; //标识文件运行状态 0:未导入文件状态 1:文件已导入,未解析入库 2:文件已入库解析完成
    templateCode = window.parent.templateCode;//对应父页面文件入业务表模板
    uploadFileData = window.parent.uploadFileData;//文件上传成功后传回的参数
    //flowStatus = 1;
    //父页面数据判空
    if (flowStatus == 1) {
        if (templateCode && uploadFileData) {
            parserFileAndInsertDB();
        } else {
            $.messager.alert('错误信息', "页面错误", 'error');
            return;
        }
    } else if (flowStatus == 0) {
        $.messager.alert('提示信息', "文件未导入或导入不成功", 'info');
        return;
    } else if (flowStatus = 2) {
        $.messager.alert('提示信息', "解析入库已完成", 'info');
        return;
    }
}


//文件解析及入库操作
function parserFileAndInsertDB() {
    //附加参数
    uploadFileData.templateCode = templateCode;
    $.ajax({
        type: 'POST',
        url: "/dealFile/parserFileAndInsertDB",
        data: uploadFileData,
        dataType: "json",
        async: false,
        success: function (result) {
            if (result.success) {
                //文件入库时产生的文件入库fileId
                var fileId = result.fileId;
                $.messager.progress({text: "解析入库成功,生成原始数据表格......"});//开启导入中进度条
                $.messager.progress('close');
            } else {
                $.messager.progress('close');
                $.messager.alert('错误信息', result.message, 'error');
            }
        },
        error: function (result) {
            $.messager.progress('close');	// hide progress bar while submit successfully
            $.messager.alert('错误信息', "请求发生错误", 'error');
        }
    });
}

function displayData() {
    //调用原始表格数据生成函数
    getInitTable(uploadFileData.fileId);
    //getInitTable(192); //测试用
}

//生成原始文件对应表格 两次请求:第一次请求表头   第二次请求初表头外数据
function getInitTable(fileId) {
    //请求表头
    $.ajax({
        type: "POST",
        url: "/dealFile/getInitHead",
        data: {fileId: fileId},
        dataType: 'json',
        success: function (data) {
            var columns = new Array(); //定义列集合
            //根据首行数据创建columns配置
            $.each(data, function (i, v) {
                var column = {};
                column["title"] = data[i];//我这里默认用键值做title，一般可以根据键值自定义
                column["field"] = "" + i;//数据的键值就是field
                //column["width"] = 25;
                //column["align"] = "center";
                columns.push(column);//放入定义数组
            });

            //请求除表头外数据
            $("#tgInit").datagrid({
                toolbar: '#tbInit',
                rownumbers: true,
                nowrap: true,//设置为true，当数据长度超出列宽时将会自动截取
                striped: true,//设置为true将交替显示行背景。
                collapsible: true,//显示可折叠按钮
                animate: true,//定义展开折叠
                fitColumns: true,
                //idField: '0',
                pagination: true,//分页控件
                pageSize: 20,
                pageList: [20, 50, 100, 200, 300, 500],
                singleSelect: true,
                queryParams: {fileId: fileId},
                url: '/dealFile/getInitData',
                columns: [columns],
                onLoadSuccess: function () {
                    //显示原始表格
                    $("#initList").show(); //显示fileList
                    $("#tgInit").datagrid("resize");//无该步骤，则不显示数据，仍为display：none
                    //查询对应的数据库表数据(即文件内容数据插入表)(分页查询)
                    $.messager.progress("bar").progressbar("setValue", 0);
                    $.messager.progress("close");

                    //修改父页面参数
                    window.parent.flowStatus = 2;
                },
                onLoadError: function () {
                    $.messager.progress("close");
                    $.messager.alert("错误信息", "请求发生错误!", "error");
                }

            });
        }
    });
}

